package com.ruoyi.calculationSalary.service;

import java.util.Date;
import java.util.Map;

/**
 * 薪资计算Service层接口
 *
 * @author Fangz.zhu
 * @Date 2022-10-07
 * @explain
 */
public interface CalculationSalaryService {

    /**
     * 哺乳假
     *
     * @param userId 用户id
     * @return map
     * {
     * "lessen_base_pay":"xxx",
     * "lessen_base_performance_pay":"0",
     * "lessen_incentive_performance_pay":"xxx"
     * }
     */
    Map<String, String> lactationLeave(Long userId, Date nowDate);

    /**
     * 事假
     *
     * @param userId 用户id
     * @return map
     * {
     * "lessen_base_pay":"xxx",
     * "lessen_base_performance_pay":"0",
     * "lessen_incentive_performance_pay":"xxx"
     * }
     */
    Map<String, String> compassionateLeave(Long userId, Date nowDate);

    /**
     * 病假
     *
     * @param userId 用户id
     * @return map
     * {
     * "lessen_base_pay":"xxx",
     * "lessen_base_performance_pay":"0",
     * "lessen_incentive_performance_pay":"xxx"
     * }
     */
    Map<String, String> sickLeave(Long userId, Date nowDate);

    /**
     * 加班费
     *
     * @param userId 用户id
     * @return map
     * {
     * "workOvertime_base_pay":"xxx",
     * "workOvertime_base_performance_pay":"xxx",
     * "workOvertime_incentive_performance_pay":"xxx"
     * }
     */
    Map<String, String> workOvertime(Long userId, Date nowDate);
}
